Teaching Program Specification and Verification Using JML and ESC/Java2
نویسنده
چکیده
The paper summarises our experiences teaching formal program specification and verification using the specification language JML and the automated program verification tool ESC/Java2. This technology has proven to be mature and simple enough to introduce students to formal methods, even undergraduate students with no prior knowledge of formal methods and even only very basic knowledge of (Java) programming. However, there are some limitations on the kind of examples that can be comfortably tackled.
منابع مشابه
Checking JML Specification Soundness Using ESC/Java2
This report describes the work completed in the Final Year Project “Checking JML Specification Soundness Using ESC/Java2.” It introduces some of the basics of Design by Contract and the Java Modelling Language (JML). This paper primarily deals with the Extended Static Checker ESC/Java2, one of the many powerful tools that understand JML. It describes techniques for extending the functionality o...
متن کاملVerifying an im plem entation of SSH
We present a case study in the formal verification of an open source Java implementation of SSH. We discuss the security flaws we found and fixed by means of formal specification and verification – using the specification language JML and the program verification tool ESC/Java2 – and by more basic manual code inspection. Of more general interest is the methodology we propose to formalise securi...
متن کاملESC / Java 2 : Uniting ESC / Java and JML Progress and issues in building and using ESC / Java 2 , including a
The ESC/Java tool was a lauded advance in effective static checking of realistic Java programs, but has become out-of-date with respect to Java and the Java Modeling Language (JML). The ESC/Java2 project, whose progress is described in this paper, builds on the final release of ESC/Java from DEC/SRC in several ways. It parses all of JML, thus can be used with the growing body of JML-annotated J...
متن کاملESC/Java2: Uniting ESC/Java and JML Progress and issues in building and using ESC/Java2
The ESC/Java tool was a lauded advance in effective static checking of realistic Java programs, but has become out-of-date with respect to Java and the Java Modeling Language (JML). The ESC/Java2 project, whose progress is described in this paper, builds on the final release of ESC/Java from DEC/SRC in several ways. It parses all of JML, thus can be used with the growing body of JML-annotated J...
متن کاملMidlet Navigation Graphs in JML
In the context of the EU project Mobius on Proof Carrying Code for Java programs (midlets) on mobile devices, we present a way to express midlet navigation graphs in JML. Such navigation graphs express certain security policies for a midlet. The resulting JML specifications can be automatically checked with the static checker ESC/Java2. Our work was guided by a realistically sized case study de...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009